package entity;

public class Produto {

	private int id;
	private String dataCadastro;
	private String dataUltimaAlteracao;
	private int cod_barra;
	private String descricao;
	private String marca;
	private String localEstoque;
	private double aliquota;
	private int codNcm;
	private String ativo;
	private int codLoja;
	private String liberadoNe;
	private String complemento;
	private double precoCusto;
	private double precoVenda;
	private double margem;
	private String unidade;
	private double descontoMax;
	private double icms;
	private double ipi;
	private int qtdEstoque;
	private int estoqueMin;
	private int estoqueMax;
	private String fornecedor;
	private String iat;
	private String ippt;
	private String situacaoTributaria;

	public Produto() {

	}

	public Produto(int id, String dataCadastro, String dataUltimaAlteracao,
			int cod_barra, String descricao, String marca, String localEstoque,
			double aliquota, int codNcm, String ativo, int codLoja,
			String liberadoNe, String complemento, double precoCusto,
			double precoVenda, double margem, String unidade,
			double descontoMax, double icms, double ipi, int qtdEstoque,
			int estoqueMin, int estoqueMax, String fornecedor, String iat,
			String ippt, String situacaoTributaria) {
		super();
		this.id = id;
		this.dataCadastro = dataCadastro;
		this.dataUltimaAlteracao = dataUltimaAlteracao;
		this.cod_barra = cod_barra;
		this.descricao = descricao;
		this.marca = marca;
		this.localEstoque = localEstoque;
		this.aliquota = aliquota;
		this.codNcm = codNcm;
		this.ativo = ativo;
		this.codLoja = codLoja;
		this.liberadoNe = liberadoNe;
		this.complemento = complemento;
		this.precoCusto = precoCusto;
		this.precoVenda = precoVenda;
		this.margem = margem;
		this.unidade = unidade;
		this.descontoMax = descontoMax;
		this.icms = icms;
		this.ipi = ipi;
		this.qtdEstoque = qtdEstoque;
		this.estoqueMin = estoqueMin;
		this.estoqueMax = estoqueMax;
		this.fornecedor = fornecedor;
		this.iat = iat;
		this.ippt = ippt;
		this.situacaoTributaria = situacaoTributaria;
	}

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getDataCadastro() {
		return dataCadastro;
	}

	public void setDataCadastro(String dataCadastro) {
		this.dataCadastro = dataCadastro;
	}

	public String getDataUltimaAlteracao() {
		return dataUltimaAlteracao;
	}

	public void setDataUltimaAlteracao(String dataUltimaAlteracao) {
		this.dataUltimaAlteracao = dataUltimaAlteracao;
	}

	public int getCod_barra() {
		return cod_barra;
	}

	public void setCod_barra(int cod_barra) {
		this.cod_barra = cod_barra;
	}

	public String getDescricao() {
		return descricao;
	}

	public void setDescricao(String descricao) {
		this.descricao = descricao;
	}

	public String getMarca() {
		return marca;
	}

	public void setMarca(String marca) {
		this.marca = marca;
	}

	public String getLocalEstoque() {
		return localEstoque;
	}

	public void setLocalEstoque(String localEstoque) {
		this.localEstoque = localEstoque;
	}

	public double getAliquota() {
		return aliquota;
	}

	public void setAliquota(double aliquota) {
		this.aliquota = aliquota;
	}

	public int getCodNcm() {
		return codNcm;
	}

	public void setCodNcm(int codNcm) {
		this.codNcm = codNcm;
	}

	public String getAtivo() {
		return ativo;
	}

	public void setAtivo(String ativo) {
		this.ativo = ativo;
	}

	public int getCodLoja() {
		return codLoja;
	}

	public void setCodLoja(int codLoja) {
		this.codLoja = codLoja;
	}

	public String getLiberadoNe() {
		return liberadoNe;
	}

	public void setLiberadoNe(String liberadoNe) {
		this.liberadoNe = liberadoNe;
	}

	public String getComplemento() {
		return complemento;
	}

	public void setComplemento(String complemento) {
		this.complemento = complemento;
	}

	public double getPrecoCusto() {
		return precoCusto;
	}

	public void setPrecoCusto(double precoCusto) {
		this.precoCusto = precoCusto;
	}

	public double getPrecoVenda() {
		return precoVenda;
	}

	public void setPrecoVenda(double precoVenda) {
		this.precoVenda = precoVenda;
	}

	public double getMargem() {
		return margem;
	}

	public void setMargem(double margem) {
		this.margem = margem;
	}

	public String getUnidade() {
		return unidade;
	}

	public void setUnidade(String unidade) {
		this.unidade = unidade;
	}

	public double getDescontoMax() {
		return descontoMax;
	}

	public void setDescontoMax(double descontoMax) {
		this.descontoMax = descontoMax;
	}

	public double getIcms() {
		return icms;
	}

	public void setIcms(double icms) {
		this.icms = icms;
	}

	public double getIpi() {
		return ipi;
	}

	public void setIpi(double ipi) {
		this.ipi = ipi;
	}

	public int getQtdEstoque() {
		return qtdEstoque;
	}

	public void setQtdEstoque(int qtdEstoque) {
		this.qtdEstoque = qtdEstoque;
	}

	public int getEstoqueMin() {
		return estoqueMin;
	}

	public void setEstoqueMin(int estoqueMin) {
		this.estoqueMin = estoqueMin;
	}

	public int getEstoqueMax() {
		return estoqueMax;
	}

	public void setEstoqueMax(int estoqueMax) {
		this.estoqueMax = estoqueMax;
	}

	public String getFornecedor() {
		return fornecedor;
	}

	public void setFornecedor(String fornecedor) {
		this.fornecedor = fornecedor;
	}

	public String getIat() {
		return iat;
	}

	public void setIat(String iat) {
		this.iat = iat;
	}

	public String getIppt() {
		return ippt;
	}

	public void setIppt(String ippt) {
		this.ippt = ippt;
	}

	public String getSituacaoTributaria() {
		return situacaoTributaria;
	}

	public void setSituacaoTributaria(String situacaoTributaria) {
		this.situacaoTributaria = situacaoTributaria;
	}

	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		long temp;
		temp = Double.doubleToLongBits(aliquota);
		result = prime * result + (int) (temp ^ (temp >>> 32));
		result = prime * result + ((ativo == null) ? 0 : ativo.hashCode());
		result = prime * result + codLoja;
		result = prime * result + codNcm;
		result = prime * result + cod_barra;
		result = prime * result
				+ ((complemento == null) ? 0 : complemento.hashCode());
		result = prime * result
				+ ((dataCadastro == null) ? 0 : dataCadastro.hashCode());
		result = prime
				* result
				+ ((dataUltimaAlteracao == null) ? 0 : dataUltimaAlteracao
						.hashCode());
		temp = Double.doubleToLongBits(descontoMax);
		result = prime * result + (int) (temp ^ (temp >>> 32));
		result = prime * result
				+ ((descricao == null) ? 0 : descricao.hashCode());
		result = prime * result + estoqueMax;
		result = prime * result + estoqueMin;
		result = prime * result
				+ ((fornecedor == null) ? 0 : fornecedor.hashCode());
		result = prime * result + ((iat == null) ? 0 : iat.hashCode());
		temp = Double.doubleToLongBits(icms);
		result = prime * result + (int) (temp ^ (temp >>> 32));
		result = prime * result + id;
		temp = Double.doubleToLongBits(ipi);
		result = prime * result + (int) (temp ^ (temp >>> 32));
		result = prime * result + ((ippt == null) ? 0 : ippt.hashCode());
		result = prime * result
				+ ((liberadoNe == null) ? 0 : liberadoNe.hashCode());
		result = prime * result
				+ ((localEstoque == null) ? 0 : localEstoque.hashCode());
		result = prime * result + ((marca == null) ? 0 : marca.hashCode());
		temp = Double.doubleToLongBits(margem);
		result = prime * result + (int) (temp ^ (temp >>> 32));
		temp = Double.doubleToLongBits(precoCusto);
		result = prime * result + (int) (temp ^ (temp >>> 32));
		temp = Double.doubleToLongBits(precoVenda);
		result = prime * result + (int) (temp ^ (temp >>> 32));
		result = prime * result + qtdEstoque;
		result = prime
				* result
				+ ((situacaoTributaria == null) ? 0 : situacaoTributaria
						.hashCode());
		result = prime * result + ((unidade == null) ? 0 : unidade.hashCode());
		return result;
	}

	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		Produto other = (Produto) obj;
		if (Double.doubleToLongBits(aliquota) != Double
				.doubleToLongBits(other.aliquota))
			return false;
		if (ativo == null) {
			if (other.ativo != null)
				return false;
		} else if (!ativo.equals(other.ativo))
			return false;
		if (codLoja != other.codLoja)
			return false;
		if (codNcm != other.codNcm)
			return false;
		if (cod_barra != other.cod_barra)
			return false;
		if (complemento == null) {
			if (other.complemento != null)
				return false;
		} else if (!complemento.equals(other.complemento))
			return false;
		if (dataCadastro == null) {
			if (other.dataCadastro != null)
				return false;
		} else if (!dataCadastro.equals(other.dataCadastro))
			return false;
		if (dataUltimaAlteracao == null) {
			if (other.dataUltimaAlteracao != null)
				return false;
		} else if (!dataUltimaAlteracao.equals(other.dataUltimaAlteracao))
			return false;
		if (Double.doubleToLongBits(descontoMax) != Double
				.doubleToLongBits(other.descontoMax))
			return false;
		if (descricao == null) {
			if (other.descricao != null)
				return false;
		} else if (!descricao.equals(other.descricao))
			return false;
		if (estoqueMax != other.estoqueMax)
			return false;
		if (estoqueMin != other.estoqueMin)
			return false;
		if (fornecedor == null) {
			if (other.fornecedor != null)
				return false;
		} else if (!fornecedor.equals(other.fornecedor))
			return false;
		if (iat == null) {
			if (other.iat != null)
				return false;
		} else if (!iat.equals(other.iat))
			return false;
		if (Double.doubleToLongBits(icms) != Double
				.doubleToLongBits(other.icms))
			return false;
		if (id != other.id)
			return false;
		if (Double.doubleToLongBits(ipi) != Double.doubleToLongBits(other.ipi))
			return false;
		if (ippt == null) {
			if (other.ippt != null)
				return false;
		} else if (!ippt.equals(other.ippt))
			return false;
		if (liberadoNe == null) {
			if (other.liberadoNe != null)
				return false;
		} else if (!liberadoNe.equals(other.liberadoNe))
			return false;
		if (localEstoque == null) {
			if (other.localEstoque != null)
				return false;
		} else if (!localEstoque.equals(other.localEstoque))
			return false;
		if (marca == null) {
			if (other.marca != null)
				return false;
		} else if (!marca.equals(other.marca))
			return false;
		if (Double.doubleToLongBits(margem) != Double
				.doubleToLongBits(other.margem))
			return false;
		if (Double.doubleToLongBits(precoCusto) != Double
				.doubleToLongBits(other.precoCusto))
			return false;
		if (Double.doubleToLongBits(precoVenda) != Double
				.doubleToLongBits(other.precoVenda))
			return false;
		if (qtdEstoque != other.qtdEstoque)
			return false;
		if (situacaoTributaria == null) {
			if (other.situacaoTributaria != null)
				return false;
		} else if (!situacaoTributaria.equals(other.situacaoTributaria))
			return false;
		if (unidade == null) {
			if (other.unidade != null)
				return false;
		} else if (!unidade.equals(other.unidade))
			return false;
		return true;
	}
}
